1. Field of the Invention
Embodiments of the present invention relate generally to identifying computer system configurations and more specifically to a system and method to accelerate identification of hardware platform classes.
2. Description of the Related Art
A typical modern x86-based computer system may include a number of different hardware components from various component manufacturers. The components may be configured in a particular bus and input/output architecture suitable to the needs of the computer system. For example, such a system may include, without limitation, one or more graphics processors, one or more network interface controllers (NICs), one or more CPUs, various possible bus structures to accommodate a certain number and mix of bus interfaces such as PCI™ or PCI-express™, a certain amount of installed memory, zero or more hard disks and zero or more optical storage media drives, each from a particular manufacturer. The bus architecture is selected at the time of manufacture and is typically fixed for a particular system. However, each component or version of component may be opportunistically selected by the manufacturer and used in a particular model of computer system to minimize cost or fix bugs discovered after a manufacturing ramp that used older parts. In some cases, a particular model of computer system may offer various speed grades of CPU. To complicate matters, various components may be removed, replaced or added by the user.
Identifying a specific computer system as being a member of a particular class of hardware platform is useful for any number of purposes such as, for example, asset management and system management automation. The current art of identifying a specific computer system hardware platform is based on an enumerated list of specifications and features associated with the hardware platform. To determine if a given computer system is part of a particular class of hardware platform, the specifications and features of the computer system are compared to the enumerated list defining the class of hardware platform. The process of classifying a computer system is typically conducted manually and consumes substantial labor time and expense because the amount of data necessary to describe a particular system is rather extensive and unwieldy. An example scenario where a number of computer systems are manually classified is a computer system deployment involving a mix of different types and versions of diskless computing devices. In such a scenario, each diskless computing device is manually classified and manually associated with one of potentially many different boot images on a boot server, where the boot server includes a unique boot image for each class of hardware platform. Again, such a scenario is time consuming and expensive. Further, such a scenario is prone to human error.
As the foregoing illustrates, what is needed in the art is a more efficient way to classify computer systems having different hardware configurations.